#字典也是 Python 提供的一种常用的数据结构，它用于存放具有映射关系的数据。
#创建字典
scores = {'语文': 89, '数学': 92, '英语': 93}
print(scores)
# 空的花括号代表空的dict
empty_dict = {}
print(empty_dict)
# 使用元组作为dict的key
dict2 = {(20, 30):'good', 30:'bad'} #元组可以作为 dict 的 key，但列表不能作为元组的 key。
print(dict2)

#使用 dict() 函数创建字典
vegetables = [('celery', 1.58), ('brocoli', 1.29), ('lettuce', 2.19)]
# 创建包含3组key-value对的字典
dict3 = dict(vegetables)
print(dict3) # {'celery': 1.58, 'brocoli': 1.29, 'lettuce': 2.19}
cars = [['BMW', 8.5], ['BENS', 8.3], ['AUDI', 7.9]]
# 创建包含3组key-value对的字典
dict4 = dict(cars)
print(dict4) # {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
# 创建空的字典
dict5 = dict()
print(dict5) # {}
# 使用关键字参数来创建字典
dict6 = dict(spinach = 1.39, cabbage = 2.59)  #key 直接写 spinach、cabbage，不需要将它们放在引号中。
print(dict6) # {'spinach': 1.39, 'cabbage': 2.59}


print('-------------------------------')
#字典的基本用法

scores = {'语文': 89}
# 通过key访问value
print(scores['语文'])

print('--------------------------------')

# 对不存在的key赋值，就是增加key-value对
scores['数学'] = 93
scores[92] = 5.7
print(scores) # {'语文': 89, '数学': 93, 92: 5.7}

print('---------------------------------')

# 使用del语句删除key-value对
del scores['语文']
del scores['数学']
print(scores) # {92: 5.7}

print('---------------------------------')

cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
# 对存在的key-value对赋值，改变key-value对
cars['BENS'] = 4.3
cars['AUDI'] = 3.8
print(cars) # {'BMW': 8.5, 'BENS': 4.3, 'AUDI': 3.8}

print('---------------------------------')

# 判断cars是否包含名为'AUDI'的key
print('AUDI' in cars) # True
# 判断cars是否包含名为'PORSCHE'的key
print('PORSCHE' in cars) # False
print('LAMBORGHINI' not in cars) # True



print("---------------------------------")

#字典的常用方法

